import {
  isEmpty
} from './validator'

//生成从minNum到maxNum的随机数
export function randomNum(minNum, maxNum){
    switch (arguments.length) {
      case 1:
        return parseInt(Math.random() * minNum + 1, 10);
        break;
      case 2:
        return parseInt(Math.random() * ( maxNum - minNum + 1 ) + minNum, 10);
        //或者 Math.floor(Math.random()*( maxNum - minNum + 1 ) + minNum );
        break;
      default:
        return 0;
        break;
    }
}

// 中划线转驼峰
export function toCamel(str) {
  return str.replace(/([^-])(?:-+([^-]))/g, function ($0, $1, $2) {
    return $1 + $2.toUpperCase();
  });
}

/**
 * 对象数组排序
 * arr: 要排序的数组对象
 * by_key: 需要排序的对象属性名
 */
export function sortByKey(arr, by_key) {
  let arr_new = []
  return arr_new = arr.sort((a, b) => {
      let val_a = a[by_key].toString().replace(/:| |-/g, '')
      let val_b = b[by_key].toString().replace(/:| |-/g, '')
      return val_a - val_b
  })
}


/**
 * @method delEmptyOption 删除对象空属性
 * @param {Object} opts
 * @return {Object}
 */
export function delEmptyOption(opts) {
  opts = Object.assign({}, opts)
  for (let key in opts) {
    if (isEmpty(opts[key])) {
      delete opts[key]
    }
  }
  return opts
}

// 下单页格式化数据
export function formatFild(key,value){
  if(key.indexOf('gender') > -1){				
    switch(String(value)) {
      case '0': return '未知';break;
      case '1': return '男';break;
      case '2': return '女';break;
      default: return'未知';break;
    }
  }
  return value
}
